dacfcc1119d7d767f77a565dd57dc3cafb47ffed,Frameworks/Core/ERExtensions/Sources/er/extensions/foundation/ERXStringUtilities.java,ERXStringUtilities,camelCaseToUnderscore,#String#,1010
Before Change
StringBuffer underscore = new StringBuffer();
for (int i = 0; i < camelString.length(); i ++) {
char ch = camelString.charAt(i);
if (Character.isUpperCase(ch) && i > 0) {
underscore.append("_");
}
underscore.append(Character.toLowerCase(ch));
After Change
int length = camelString.length();
for (int i = 0; i < length; i ++) {
char ch = camelString.charAt(i);
if (Character.isUpperCase(ch)) {
boolean nextCharacterIsCapital = (i < length - 1 && Character.isUpperCase(camelString.charAt(i + 1)));
if (i > 0 && ((!lastCharacterWasWordBreak && !lastCharacterWasCapital) || !nextCharacterIsCapital)) {
underscore.append("_");